package com.fram.service.admin;

import java.util.List;

import com.fram.bean.admin.android.category.response.CategoryWithChildrenResponse;
import com.fram.bean.api.project.request.CategoryRequest;
import com.fram.bean.api.project.response.CategoryResponse;
import com.fram.bean.sys.PageBean;
import com.fram.common.exception.ProAffairException;
import com.fram.common.exception.ProException;
import com.fram.entity.ProjectCategory;
import com.github.pagehelper.PageInfo;

/**
 * @作者： 陳曉鬆 @时间： 2020年5月6日 - 下午3:45:35 @description：->
 */
public interface CategroyService {

	/** 查询系统类型 **/
	public List<ProjectCategory> getProjectCategroy(Integer level, Long parentId) throws ProException;

	/**
	 * @作者：陳曉鬆 @时间：2020年5月6日 下午3:52:05 @版本：V1.0 @description：-> 添加系统类型
	 */
	public void addProjectCategroy(ProjectCategory category) throws ProException;

	/**
	 * @作者：陳曉鬆 @时间：2020年5月6日 下午4:14:26 @版本：V1.0 @description：-> 删除类型
	 */
	public void deleteProjectCategroy(List<ProjectCategory> category) throws ProAffairException;

	/** 修改分类 **/
	public void updateProjectCategroy(ProjectCategory record) throws ProException;

	// 分页展示 类型 2级
	public PageInfo<ProjectCategory> listCategory(PageBean<ProjectCategory> request) throws ProException;

	// -后台，点击详情 展示的下拉。
	public List<CategoryResponse> listFromCategory(CategoryRequest request) throws ProException;

	// 后台-下拉分类展示(根据店铺 或 超级)
	public List<CategoryResponse> listCategory(Long distributorId) throws ProException;

	// 详情
	public ProjectCategory details(Long id) throws ProException;

	// 修改
	public void update(ProjectCategory request) throws ProException;
	
	
	// PC 添加商品 展示的 下拉功能
	public List<CategoryWithChildrenResponse> listWithChildren(Long distributorId)throws ProException;
	
}
